﻿$(function() {
    InitLeftMenu();
    tabClose();
    tabCloseEven();
})
//初始化左侧
function InitLeftMenu() {

    $(".easyui-accordion").empty();
    var menulist = "";

    $.each(_menus.menus, function(i, n) {
        menulist += '<div title="' + n.menuname + '" icon="' + n.icon + '"style="overflow:auto;">';
        menulist += '<ul>';
        $.each(n.menus, function(j, o) {
            menulist += '<li><div><a ref="' + o.menuid + '" href="#" rel="' + o.url + '" ><span class="icon ' + o.icon + '" >&nbsp;</span><span class="nav">' + o.menuname + '</span></a></div></li> ';
        })
        menulist += '</ul></div>';
    })

    $(".easyui-accordion").append(menulist);

    $('.easyui-accordion li a').click(function() {
        var tabTitle = $(this).children('.nav').text();

        var url = $(this).attr("rel");
        var menuid = $(this).attr("ref");
        var icon = getIcon(menuid, icon);

        addTab(tabTitle, url, icon);
        $('.easyui-accordion li div').removeClass("selected");
        $(this).parent().addClass("selected");
    }).hover(function() {
        $(this).parent().addClass("hover");
    }, function() {
        $(this).parent().removeClass("hover");
    });

    //导航菜单绑定初始化
    $(".easyui-accordion").accordion();
}
//获取左侧导航的图标
function getIcon(menuid) {
    var icon = 'icon ';
    $.each(_menus.menus, function(i, n) {
        $.each(n.menus, function(j, o) {
            if (o.menuid == menuid) {
                icon += o.icon;
            }
        })
    })
    return icon;
}
//修改addTab 方法为：
var tabCounter = 1;
function addTab(subtitle, url, icon) {
    if (!$('#tabs').tabs('exists', subtitle) && tabCounter > 7) {
        msgShow('系统提示', '您打开的太多了，请关闭不用的窗口', 'error');
        return;
    }
    addTab1(subtitle, url, icon);

}

function addTab1(subtitle, url, icon) {
    if (!$('#tabs').tabs('exists', subtitle)) {
        $('#tabs').tabs('add', {
            title: subtitle,
            content: createFrame(url),
            closable: true,
            icon: icon
        });
        tabCounter++;

    } else {
        $('#tabs').tabs('select', subtitle);
        //tabCounter--;
    }
    tabClose();
    tabCloseEven();

}

function createFrame(url) {
    var s = '<iframe scrolling="auto" frameborder="0"  src="' + url + '" style="width:100%;height:100%;"></iframe>';
    return s;
}

function tabClose() {
    /*双击关闭TAB选项卡*/
    $(".tabs-inner").dblclick(function() {
        var subtitle = $(this).children(".tabs-closable").text();
        if (!$('#tabs').tabs('exists', subtitle)) {
            $('#tabs').tabs('close', subtitle);
            tabCounter -= 1;
        }
    })
    /*为选项卡绑定右键*/
    $(".tabs-inner").bind('contextmenu', function(e) {
        $('#mm').menu('show', {
            left: e.pageX,
            top: e.pageY
        });

        var subtitle = $(this).children(".tabs-closable").text();

        $('#mm').data("currtab", subtitle);
        $('#tabs').tabs('select', subtitle);
        return false;
    });
}

//绑定右键菜单事件
function tabCloseEven() {
    //关闭当前
    $('#mm-tabclose').click(function() {
        var currtab_title = $('#mm').data("currtab");
        if ($('#tabs').tabs('exists', currtab_title)) {
            $('#tabs').tabs('close', currtab_title);

            tabCounter -= 1;
        }
    })
    //全部关闭
    $('#mm-tabcloseall').click(function() {
        $('.tabs-inner span').each(function(i, n) {
            var t = $(n).text();
            $('#tabs').tabs('close', t);
            tabCounter = 1;
        });

    });
    //关闭除当前之外的TAB
    $('#mm-tabcloseother').click(function() {
        var currtab_title = $('#mm').data("currtab");
        $('.tabs-inner span').each(function(i, n) {
            var t = $(n).text();
            if (t != currtab_title)
                $('#tabs').tabs('close', t);

        });
        tabCounter = 1;
    });
    //关闭当前右侧的TAB
    $('#mm-tabcloseright').click(function() {
        var nextall = $('.tabs-selected').nextAll();
        if (nextall.length == 0) {
            // msgShow('系统提示','后边没有啦~~','error');
            //alert('后边没有啦~~');
            return false;
        }
        nextall.each(function(i, n) {
            var t = $('a:eq(0) span', $(n)).text();
            $('#tabs').tabs('close', t);
        });
        tabCounter = 1;
        return false;
    });
    //关闭当前左侧的TAB
    $('#mm-tabcloseleft').click(function() {
        var prevall = $('.tabs-selected').prevAll();
        if (prevall.length == 0) {
            // msgShow('系统提示', '前边没有啦~~', 'error');
            //alert('到头了，前边没有啦~~');
            return false;
        }
        prevall.each(function(i, n) {
            var t = $('a:eq(0) span', $(n)).text();
            $('#tabs').tabs('close', t);
        });
        tabCounter = 1;
        return false;
    });

    //退出
    $("#mm-exit").click(function() {
        $('#mm').menu('hide');
    })
}

//弹出信息窗口 title:标题 msgString:提示信息 msgType:信息类型 [error,info,question,warning]
function msgShow(title, msgString, msgType) {
    $.messager.alert(title, msgString, msgType);
}



